Skip to content

MSYS2 是什么,要不要装?

🕒 Published at:

MSYS2 是什么,要不要装? ​

一句话总结 ​

MSYS2 = Windows 上的迷你 Linux 环境,提供 bash、包管理器、gcc 编译器等 Unix 工具。

它包含什么 ​

组件作用
MSYS2 RuntimePOSIX 兼容层,让 Linux 程序能在 Windows 跑
bashLinux 命令行
pacman包管理器(和 Arch Linux 一样),一行命令装软件
MinGW-w64 gcc/g++C/C++ 编译器,编译出原生 Windows 程序
Unix 工具集grep、sed、awk、make、autoconf、git 等

它能干什么 ​

1. 编译 C/C++ 程序 ​

bash
gcc hello.c -o hello.exe

2. 像 Linux 一样用命令行 ​

bash
ls -la | grep ".txt" | wc -l

3. 一行命令装开发工具 ​

bash
pacman -S cmake git python nodejs

4. 编译需要 Unix 构建系统的项目 ​

有些开源项目用 ./configure && make && make install 构建,只有 MSYS2 或 WSL 能跑。

谁需要装 ​

场景需要 MSYS2 吗
写 C/C++ 程序不一定,可以用独立的 MinGW-w64 或 Visual Studio
需要 Linux 命令行不需要,WSL 更好
需要编译复杂的 Unix 项目需要,或者用 WSL
写 Python/Node/前端不需要
只想要个 gcc不需要,装独立 MinGW-w64 就行

和 WSL 的区别 ​

MSYS2WSL
本质Windows 原生程序 + POSIX 兼容层真正的 Linux 内核
性能文件操作快文件操作慢(跨文件系统时)
兼容性编译出 Windows 原生 .exe编译出 Linux 二进制
包管理pacmanapt/dnf(取决于发行版)
占用~1GB~2GB+
适合编译 Windows 程序、快速用 Unix 工具完整 Linux 开发环境

和独立 MinGW-w64 的区别 ​

MSYS2 的 MinGW独立 MinGW-w64
体积~1GB(包含一堆你可能用不上的东西)~200MB(只有编译器)
安装通过 pacman 装解压即用
更新pacman -Syu 自动更新手动下载新版
依赖管理pacman 自动处理自己搞定

结论 ​

  • 如果你有 WSL:MSYS2 基本是多余的,bash、grep、sed、make 全有
  • 如果你只需要 gcc:装独立 MinGW-w64 就够了,干净省空间
  • 如果你需要编译 Windows 原生的 C/C++ 大型项目:MSYS2 的包管理器能省很多事
  • 如果你只是写 Python/Node/前端:完全不需要

卸载 MSYS2 ​

powershell
# 删除安装目录
Remove-Item -Path "C:\msys64" -Recurse -Force

# 从 PATH 中移除(如果有)
# 系统设置 → 环境变量 → Path → 删除所有 msys64 相关的条目